In general, graphics rendering may generate an image or images from model data using a wide range of computer implemented techniques. In some implementations, the color buffer may be the largest bandwidth consumer in the graphics pipeline and system performance may be enhanced by color compression techniques.
The aim of such compression techniques, in general, may be to achieve a bit budget. For example, memory bandwidth may be associated with a limit or a specific cache line size or the like that may provide limits (e.g., 512 bits per cache line or the like) for memory transactions. If a compression technique may transmit or store data less than or equal to the limit, the number of transactions associated with the data may be reduced saving power and increasing performance. Therefore, if color data may be compressed to meet the bit budget, the compression may be considered successful and the data may be stored as compressed. If the bit budget is not met, the compression may have failed and the data may be stored uncompressed since the compression would not save on memory transactions or the like. The greater rate at which a compression technique achieves successful compression of data (i.e., meets a desired bit budget), the greater the system performance will be enhanced.
Commonly, color data may be compressed using lossless compression techniques such that the color data is encoded without quality loss. Using lossless techniques may limit attainable compression rates and the rate of successful compressions may be limited. If, however, minor losses of quality are acceptable, greater compression rates may be attained using lossy compression techniques, which may provide more successful attempts at compression and may save memory bandwidth. Such bandwidth savings may increase performance and/or reduce power consumption in various devices.